package com.ruoyi.system.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 会员权益订单对象 member_rai_order
 * 
 * @author ruoyi
 * @date 2025-04-21
 */
@ApiModel(description = "会员权益订单对象")
public class MemberRaiOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    @ApiModelProperty(value = "id")
    private String id;

    /** 订单编号 */
    @ApiModelProperty(value = "订单编号")
    @Excel(name = "订单编号")
    private String orderCode;

    /** 会员id */
    @ApiModelProperty(value = "会员id",required = true)
    private String memberId;

    /** 权益id */
    @ApiModelProperty(value = "权益id",required = true)
    private String raiId;

    /** 权益数量 */
    @ApiModelProperty(value = "权益数量",required = true)
    @Excel(name = "数量")
    private String raiOrderNum;

    /** 领取方式 */
    @ApiModelProperty(value = "领取方式",required = true)
    @Excel(name = "领取方式")
    private String payment;

    /** 门店id */
    @ApiModelProperty(value = "门店id",required = true)
    private String storeId;

    /** 状态 */
    @ApiModelProperty(value = "状态")
    private String raiStatus;

    /** 状态 */
    @ApiModelProperty(value = "状态")
    @Excel(name = "状态")
    private String raiStatusCh;

    /** 是否删除 */
    @ApiModelProperty(value = "是否删除")
    private String status;

    @ApiModelProperty(value = "创建开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startDate;

    @ApiModelProperty(value = "创建结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endDate;

    @ApiModelProperty(value = "会员权益结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endRaiDate;

    /** 手机号 */
    @ApiModelProperty(value = "手机号")
    private String phonenumber;

    @ApiModelProperty(value = "会员昵称")
    @Excel(name = "会员名称")
    private String memberName;

    @ApiModelProperty(value = "权益名称")
    @Excel(name = "权益商品")
    private String raiName;

    @ApiModelProperty(value = "门店名称")
    @Excel(name = "门店名称")
    private String storeName;

    @ApiModelProperty(value = "商品id")
    private String goodsId;

    @ApiModelProperty(value = "收获地址id")
    private String addressId;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setOrderCode(String orderCode) 
    {
        this.orderCode = orderCode;
    }

    public String getOrderCode() 
    {
        return orderCode;
    }

    public void setMemberId(String memberId) 
    {
        this.memberId = memberId;
    }

    public String getMemberId() 
    {
        return memberId;
    }

    public void setRaiId(String raiId) 
    {
        this.raiId = raiId;
    }

    public String getRaiId() 
    {
        return raiId;
    }

    public void setRaiOrderNum(String raiOrderNum) 
    {
        this.raiOrderNum = raiOrderNum;
    }

    public String getRaiOrderNum() 
    {
        return raiOrderNum;
    }

    public void setPayment(String payment) 
    {
        this.payment = payment;
    }

    public String getPayment() 
    {
        return payment;
    }

    public void setStoreId(String storeId) 
    {
        this.storeId = storeId;
    }

    public String getStoreId() 
    {
        return storeId;
    }

    public void setRaiStatus(String raiStatus) 
    {
        this.raiStatus = raiStatus;
    }

    public String getRaiStatus() 
    {
        return raiStatus;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getRaiName() {
        return raiName;
    }

    public void setRaiName(String raiName) {
        this.raiName = raiName;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public String getGoodsId() {
        return goodsId;
    }

    public void setGoodsId(String goodsId) {
        this.goodsId = goodsId;
    }

    public String getRaiStatusCh() {
        return raiStatusCh;
    }

    public void setRaiStatusCh(String raiStatusCh) {
        this.raiStatusCh = raiStatusCh;
    }

    public String getAddressId() {
        return addressId;
    }

    public void setAddressId(String addressId) {
        this.addressId = addressId;
    }

    public Date getEndRaiDate() {
        return endRaiDate;
    }

    public void setEndRaiDate(Date endRaiDate) {
        this.endRaiDate = endRaiDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderCode", getOrderCode())
            .append("memberId", getMemberId())
            .append("raiId", getRaiId())
            .append("raiOrderNum", getRaiOrderNum())
            .append("payment", getPayment())
            .append("storeId", getStoreId())
            .append("raiStatus", getRaiStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("status", getStatus())
            .append("remark", getRemark())
            .toString();
    }
}
